package com.common.platform.base.utils;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class ValidateUtil {

    /**
     * 对象是否不为空
     */
    public static boolean inNotEmpty(Object o){
        return !isEmpry(o);
    }

    /**
     * 对象是否为空
     */
    public static boolean isEmpry(Object o){
        if (o==null){
            return true;
        }
        if (o instanceof String){
            return  o.toString().trim().equals("");
        }else if (o instanceof List){
            return ((List) o).size()<=0;
        }else if (o instanceof Map){
            return ((Map) o).size()<=0;
        }else if (o instanceof Set){
            return ((Set) o).size()<=0;
        }else if (o instanceof Object[]){
            return ((Object[]) o).length<=0;
        }else if (o instanceof int[]){
            return ((int[]) o).length<=0;
        } else if (o instanceof long[]) {
            return ((long[]) o).length<=0;
        }
        return false;
    }

    /**
     * 对象组是否存在空对象
     */
    public static boolean isOneEmpty(Object... os){
        for (Object o:os){
            if (isEmpry(o)){
                return true;
            }
        }
        return false;
    }

    /**
     * 对象组中是否全是空对象
     */
    public static boolean isAllEmpty(Object... os){
        for (Object o:os){
            if (!isEmpry(o)){
                return false;
            }
        }
        return true;
    }
}